package com.pet.mapper;

import com.pet.pojo.SysCat;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;

/**
 * 猫咪信息数据访问层
 */
@Mapper
public interface SysCatMapper {

    /**
     * 查询所有猫咪
     * 
     * @return 猫咪列表
     */
    List<SysCat> findAll();

    /**
     * 根据条件查询猫咪
     * 
     * @param params 查询条件
     * @return 猫咪列表
     */
    List<SysCat> findByCondition(Map<String, Object> params);

    /**
     * 添加猫咪
     * 
     * @param cat 猫咪信息
     * @return 影响的行数
     */
    int insert(SysCat cat);

    /**
     * 更新猫咪信息
     * 
     * @param cat 猫咪信息
     * @return 影响的行数
     */
    int update(SysCat cat);

    /**
     * 删除猫咪
     * 
     * @param id 猫咪ID
     * @return 影响的行数
     */
    int delete(Integer id);

    /**
     * 根据ID查询猫咪
     * 
     * @param id 猫咪ID
     * @return 猫咪信息
     */
    SysCat findById(Integer id);

    /**
     * 统计符合条件的猫咪总数
     * 
     * @param params 查询条件
     * @return 符合条件的猫咪总数
     */
    int countByCondition(Map<String, Object> params);

    /**
     * 批量更新猫咪状态
     * 
     * @param ids    猫咪ID列表
     * @param status 新状态
     * @return 影响的行数
     */
    int updateStatus(@Param("ids") List<Integer> ids, @Param("status") Integer status);
}